SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE [dbo].[SP_TCMOVI_BANC_EJEC_Q10]                        
/*-------------------------------------------------------*/                        
/*---Empresa               OFISIS S.A.                --*/                        
/*---Cliente               CELIMA                     --*/                        
/*---Sistema               Tesoreria                  --*/                        
/*---M¢dulo                Empresa                    --*/                        
/*---Programa              FLUJO DE CAJA MENSUAL      --*/                        
/*---Script                SP_TCMOVI_BANC_Q03.sql     --*/                        
/*---Nombre SP             SP_TCMOVI_BANC_Q03         --*/                        
/*---Desarrollado por      Reynaldo Menacho Luyo      --*/                        
/*---Fecha Creaci¢n        25/09/2001                 --*/                        
/*---Base Datos            SQL SERVER        --*/                        
/*---Versi¢n               2000                       --*/                        
/*---Invoca a SP                                      --*/                        
/*-------------------------------------------------------*/                        
                        
/*-------------------------------------------------------*/                        
/*---Modificado 1 por           --*/                        
/*---Fecha Modificaci¢n         --*/                         
/*---Detalle Modificaci¢n       --*/                        
/*-------------------------------------------------------*/                        
                        
/*-------------------------------------------------------*/                        
/*---Drop Proc SP_TCMOVI_BANC_Q03                      --*/                        
/*---Grant all on SP_TCMOVI_BANC_Q03 to public         --*/                         
/*---SP_TCMOVI_BANC_Q03 '01', 'DOL', 10, 2001, 11, 2001  --*/                        
/*-------------------------------------------------------*/                        
                        
--EXEC UL_TCMOVI_BANC_Q03 '01', 'WHERE 1 = 1', '', 'U', 'DOL', 1,2007                 
                      
@ISCO_EMPR Varchar(2),                      
@ISCA_WHER_0001 Varchar(256),                        
@ISCA_WHER_0002 Varchar(256),                   
@ISTI_PRES TD_VC_001,                       
@ISCO_MONE TD_VC_003,                        
@INNU_MESE_INIC TD_IN_001,                        
@INNU_ANIO_INIC TD_IN_001              
/*,                        
@INNU_MESE_FINA TD_IN_001,                        
@INNU_ANIO_FINA TD_IN_001  */                      
As                        
CREATE TABLE #TWFLUJ_CAJA_Q02_1                        
 ( CO_EMPR      varchar(3) NULL,                        
   CO_ARUB varchar(3) NULL ,                        
   CO_RUBR varchar(3) NULL ,                        
   CO_SUBR varchar(3) NULL ,                        
   IM_ME01 numeric(16,4) DEFAULT 0,                        
   IM_ME02 numeric(16,4) DEFAULT 0,                        
   IM_ME03 numeric(16,4) DEFAULT 0,                        
   IM_ME04 numeric(16,4) DEFAULT 0,                        
   IM_ME05 numeric(16,4) DEFAULT 0,                        
   IM_ME06 numeric(16,4) DEFAULT 0,                        
   IM_ME07 numeric(16,4) DEFAULT 0,                        
   IM_ME08 numeric(16,4) DEFAULT 0,                        
   IM_ME09 numeric(16,4) DEFAULT 0,                        
   IM_ME10 numeric(16,4) DEFAULT 0,                        
   IM_ME11 numeric(16,4) DEFAULT 0,                        
   IM_ME12 numeric(16,4) DEFAULT 0,                        
   NU_MESE varchar(2),                      
   CO_BANC varchar(3) NULL ,                        
   NU_CNTA_BANC varchar(20) NULL ,                        
   DE_CNTA_BANC varchar(100) NULL ,                
   TI_DETA_EMPR  varchar(1) NULL ,                      
 TI_DETA_BANC  varchar(1) NULL,                    
CO_SUBR_CALC varchar(3) NULL,                    
ST_CALC_IMPO varchar(1) NULL ,                    
TI_CALC_IMPO varchar(1) NULL )                        
                    
        
CREATE TABLE #TWFLUJ_CAJA_Q02_DUA                       
 ( CO_EMPR      varchar(3) NULL,                        
   CO_ARUB varchar(3) NULL ,                        
   CO_RUBR varchar(3) NULL ,                        
   CO_SUBR varchar(3) NULL ,                        
   IM_ME01 numeric(16,4) DEFAULT 0,                        
   IM_ME02 numeric(16,4) DEFAULT 0,                        
   IM_ME03 numeric(16,4) DEFAULT 0,                        
   IM_ME04 numeric(16,4) DEFAULT 0,                        
   IM_ME05 numeric(16,4) DEFAULT 0,                        
   IM_ME06 numeric(16,4) DEFAULT 0,                        
   IM_ME07 numeric(16,4) DEFAULT 0,                        
   IM_ME08 numeric(16,4) DEFAULT 0,                        
   IM_ME09 numeric(16,4) DEFAULT 0,                        
   IM_ME10 numeric(16,4) DEFAULT 0,                        
   IM_ME11 numeric(16,4) DEFAULT 0,                        
   IM_ME12 numeric(16,4) DEFAULT 0,                        
   NU_MESE varchar(2),                      
   CO_BANC varchar(3) NULL ,                        
   NU_CNTA_BANC varchar(20) NULL ,                        
   DE_CNTA_BANC varchar(100) NULL ,                        
   TI_DETA_EMPR  varchar(1) NULL ,                      
   TI_DETA_BANC  varchar(1) NULL,                    
   CO_SUBR_CALC varchar(3) NULL,                    
ST_CALC_IMPO varchar(1) NULL ,                    
TI_CALC_IMPO varchar(1) NULL )                        
                    
CREATE TABLE #TWFLUJ_CAJA_Q02_DUA2                       
 ( CO_EMPR      varchar(3) NULL,                        
   CO_ARUB varchar(3) NULL ,                        
   CO_RUBR varchar(3) NULL ,                        
   CO_SUBR varchar(3) NULL ,                        
   IM_ME01 numeric(16,4) DEFAULT 0,                        
   IM_ME02 numeric(16,4) DEFAULT 0,                        
   IM_ME03 numeric(16,4) DEFAULT 0,                        
   IM_ME04 numeric(16,4) DEFAULT 0,                        
   IM_ME05 numeric(16,4) DEFAULT 0,                        
   IM_ME06 numeric(16,4) DEFAULT 0,                        
   IM_ME07 numeric(16,4) DEFAULT 0,                        
   IM_ME08 numeric(16,4) DEFAULT 0,                        
   IM_ME09 numeric(16,4) DEFAULT 0,                        
   IM_ME10 numeric(16,4) DEFAULT 0,                        
   IM_ME11 numeric(16,4) DEFAULT 0,                        
   IM_ME12 numeric(16,4) DEFAULT 0,                        
   NU_MESE varchar(2),                      
   CO_BANC varchar(3) NULL ,                        
   NU_CNTA_BANC varchar(20) NULL ,                        
   DE_CNTA_BANC varchar(100) NULL ,                        
   TI_DETA_EMPR  varchar(1) NULL ,                      
   TI_DETA_BANC  varchar(1) NULL,                    
   CO_SUBR_CALC varchar(3) NULL,                    
ST_CALC_IMPO varchar(1) NULL ,                    
TI_CALC_IMPO varchar(1) NULL )                        
                      
CREATE TABLE #TWFLUJ_CAJA_Q02_4                       
 ( CO_EMPR      varchar(3) NULL,                        
   DE_EMPR      varchar(100) NULL,                        
   CO_ARUB varchar(3) NULL ,                        
   DE_ARUB    varchar(100) NULL,                       
   CO_RUBR varchar(3) NULL ,                        
   DE_RUBR      varchar(100) NULL,                       
   CO_SUBR varchar(3) NULL ,                        
   DE_SUBR      varchar(100) NULL,                       
   IM_ME01 numeric(16,4) DEFAULT 0,                        
   IM_ME02 numeric(16,4) DEFAULT 0,                        
IM_ME03 numeric(16,4) DEFAULT 0,                        
   IM_ME04 numeric(16,4) DEFAULT 0,                        
   IM_ME05 numeric(16,4) DEFAULT 0,                        
   IM_ME06 numeric(16,4) DEFAULT 0,                        
   IM_ME07 numeric(16,4) DEFAULT 0,         
   IM_ME08 numeric(16,4) DEFAULT 0,                        
   IM_ME09 numeric(16,4) DEFAULT 0,                        
   IM_ME10 numeric(16,4) DEFAULT 0,                        
   IM_ME11 numeric(16,4) DEFAULT 0,                        
   IM_ME12 numeric(16,4) DEFAULT 0,                        
   NU_MESE varchar(2) NULL,                      
   CO_BANC varchar(3) NULL ,                        
   NU_CNTA_BANC varchar(20) NULL ,                        
   DE_CNTA_BANC varchar(100) NULL ,                        
   TI_DETA_EMPR  varchar(1) NULL ,                      
   TI_DETA_BANC  varchar(1) NULL,                  
   NU_ORDE_ARUB INT NULL,                  
   NU_ORDE_RUBR INT NULL,                  
   NU_ORDE_SUBR INT NULL )                        
                        
CREATE TABLE #TWFLUJ_CAJA_Q03_2                        
 ( ST_CALC_IMPO varchar(1) NULL ,                    
   TI_CALC_IMPO varchar(1) NULL,                    
   CO_SUBR_CALC varchar(3) NULL,                    
   CO_EMPR    varchar(3) NULL,                        
   CO_ARUB varchar(3) NULL ,                        
   CO_RUBR varchar(3) NULL ,                        
   CO_SUBR varchar(3) NULL ,                        
   FE_OPER datetime NULL,                        
   FA_TIPO_CAMB numeric(9,4) DEFAULT 0,                        
   CO_MONE varchar(3) NULL ,                        
   IM_MOVI numeric(16,4) DEFAULT 0,                    
   CO_BANC varchar(3) NULL ,                        
   NU_CNTA_BANC varchar(20) NULL ,                        
   DE_CNTA_BANC varchar(100) NULL ,                        
   IM_SALD_INIC numeric(16,4) DEFAULT 0,                      
   TI_DETA_EMPR  varchar(1) NULL ,                      
   TI_DETA_BANC  varchar(1) NULL)                      
                    
                    
                    
                      
CREATE TABLE #TWFLUJ_CAJA_Q03_3                       
 ( CO_EMPR      varchar(3) NULL,                        
   CO_BANC varchar(3) NULL ,                        
   NU_CNTA_BANC varchar(20) NULL ,                        
   DE_CNTA_BANC varchar(100) NULL ,                        
   NU_MESE datetime NULL,                        
   FA_TIPO_CAMB numeric(9,4) DEFAULT 0,                        
   CO_MONE varchar(3) NULL ,                        
   IM_SALD_INIC numeric(16,4) DEFAULT 0,                      
   TI_DETA_EMPR  varchar(1) NULL ,                      
   TI_DETA_BANC  varchar(1) NULL)                           
             
Create Table #TWSABA_REPO(                 
    CO_EMPR CHAR(02) NULL,                 
    CO_BANC VARCHAR(03) NULL,                
    NU_CNTA_BANC VARCHAR(20) NULL,                
    AA_BNCO VARCHAR(04) NULL,                
    MM_BNCO VARCHAR(02) NULL,                
    IM_SALD_INIC Numeric(16,4) NULL)             
Create Table #TWSABA_REPO_AUXI(                 
CO_EMPR VARCHAR(02) NULL,                
CO_BANC VARCHAR(03) NULL,                
NU_CNTA_BANC VARCHAR(20) NULL,                
IM_SALD_INIC Numeric(16,4) NULL)                        
                        
DECLARE                        
                        
@VNNU_MESE  TD_IN_001,                        
@VNNU_ANIO  TD_IN_001,                        
@VSNU_MESE  TD_VC_002,                        
@VSNU_ANIO  VARCHAR(4),                        
@VNNU_CONT_MESE TD_IN_001,                        
@VSDE_SELE VARCHAR(6000),                        
@VSCO_EMPR VARCHAR (50),                        
@VSDE_CAMP VARCHAR(7) ,                    
@VSCO_MONE_NACI TD_VC_003,                    
@VSCO_MONE_EXTR TD_VC_003,                  
@VNNU_FACT  NUMERIC(16,4),          
@VNFA_CAMB_MENS  NUMERIC(15,6)                        
                        
                  
-- PRESENTACION EN UNIDADES O MILES                    
IF @ISTI_PRES = 'U'                    
 SELECT @VNNU_FACT = 1                    
IF @ISTI_PRES = 'M'                    
 SELECT @VNNU_FACT = 0.001                    
                    
   Select @VSCO_MONE_NACI = CO_MONE_DEFA, @VSCO_MONE_EXTR = CO_MONE_EXTR                             
   From TMPARA_TESO                            
   Where CO_EMPR = @ISCO_EMPR                            
         
                        
----   SETEO @VNNU_MESE CON EL MES INICIAL ---------                        
SELECT  @VNNU_MESE = @INNU_MESE_INIC, @VNNU_ANIO = @INNU_ANIO_INIC, @VNNU_CONT_MESE = 1                        
                        
/* FORMO EL NOMBRE DEL CAMPO (IM_ME01) QUE CORRESPONDERA AL IMPORTE DEL MES 1,                        
 EN EL LOOP SE FORMARA EN LA CADENA @VSDE_CAMP EL NOMBRE DEL CAMPO DE LOS                       
 PERIODOS DEL 2 (IM_ME02) AL 12 (IM_ME12)*/             
SELECT @VSDE_CAMP = 'IM_ME' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_CONT_MESE))))) 
+RTRIM(LTRIM(STR(@VNNU_CONT_MESE)))                        
                        
                        
                        
--- LOOP PARA LLENAR LA TABLA TEMPORAL MES POR MES, DESDE EL MES 1 AL MES 12 -------------------                        
WHILE @VNNU_CONT_MESE <= 12                        
BEGIN                        
 SELECT  @VSNU_MESE = CONVERT(CHAR(2), @VNNU_MESE),                        
  @VSNU_ANIO = CONVERT(CHAR(4), @VNNU_ANIO)                        
           
          
          
select @VNFA_CAMB_MENS = FA_CAMB_CMPR          
FROM TCFACT_PRME          
WHERE CO_MONE = @VSCO_MONE_EXTR                         
AND NU_ANNO = @VNNU_ANIO                   
AND NU_MESE = @VNNU_MESE          
          
 IF ISNULL(@VNFA_CAMB_MENS,0) = 0  
BEGIN  
  
select @VNFA_CAMB_MENS = (select TOP 1 FA_CAMB_CMPR        
FROM TCFACT_PRME        
WHERE CO_MONE = @VSCO_MONE_EXTR                       
AND ((NU_ANNO = @VNNU_ANIO  AND  NU_MESE <= @VNNU_MESE) OR (NU_ANNO < @VNNU_ANIO))              
ORDER BY NU_ANNO DESC, NU_MESE DESC)  
  
END           
                        
 ---- INSERTO LOS DATA MES POR MES, DESDE EL MES INICIAL ----------                        
  EXECUTE('                        
  INSERT INTO #TWFLUJ_CAJA_Q03_2                        
  (CO_EMPR, CO_ARUB, CO_RUBR, CO_SUBR, FE_OPER, FA_TIPO_CAMB, CO_MONE, IM_MOVI, TI_DETA_EMPR, TI_DETA_BANC)                   
     
  SELECT T1.CO_EMPR, TTARUB_FINA.CO_ARUB, TTRUBR_FINA.CO_RUBR, TTSUBR_FINA.CO_SUBR, T1.FE_OPER, T1.FA_TIPO_CAMB, T5.CO_MONE,  
                       
  Round( (SELECT Dbo.FN_TCFACT_CAMB_Q02(T5.CO_MONE, "' + @ISCO_MONE + '", T1.FE_OPER,                        
  T1.IM_MOVI * ( PATINDEX(T1.TI_MOVI_BANC, "I") - PATINDEX(T1.TI_MOVI_BANC, "E")),                         
  T6.TI_CAMB, T6.TI_ORIG, "S", T6.CO_MONE_DEFA, T6.CO_MONE_EXTR, ISNULL(' + @VNFA_CAMB_MENS + ', T1.FA_TIPO_CAMB))), 2) 
,"1","2"                       
  FROM TCMOVI_BANC T1, TTSUBR_FINA, TTRUBR_FINA, TTARUB_FINA, TMCNTA_BANC T5, TMEMPR, TMPARA_TESO T6                        
  ' + @ISCA_WHER_0001 + @ISCA_WHER_0002 + '                        
  AND MONTH(T1.FE_OPER) = CONVERT(INT, ' + @VSNU_MESE + ')                        
  AND YEAR(T1.FE_OPER) = CONVERT(INT, ' + @VSNU_ANIO + ')                        
  AND T1.TI_SITU IN ("ACT", "EXT")                        
  AND TTSUBR_FINA.ST_REPO = "S"                      
  AND  T1.CO_EMPR = T5.CO_EMPR                        
  AND  T1.CO_BANC = T5.CO_BANC                        
  AND  T1.NU_CNTA_BANC = T5.NU_CNTA_BANC                        
  AND T1.CO_EMPR = TTSUBR_FINA.CO_EMPR                        
  AND T1.CO_SUBR = TTSUBR_FINA.CO_SUBR                        
  AND TTSUBR_FINA.CO_EMPR = TTRUBR_FINA.CO_EMPR                        
  AND  TTSUBR_FINA.CO_ARUB = TTRUBR_FINA.CO_ARUB                        
  AND  TTSUBR_FINA.CO_RUBR = TTRUBR_FINA.CO_RUBR                        
  AND TTRUBR_FINA.CO_EMPR = TTARUB_FINA.CO_EMPR                        
  AND TTRUBR_FINA.CO_ARUB = TTARUB_FINA.CO_ARUB                        
  AND TTSUBR_FINA.CO_EMPR = TMEMPR.CO_EMPR                        
  AND TTSUBR_FINA.CO_EMPR = T6.CO_EMPR                        
  UNION ALL                        
  SELECT T1.CO_EMPR, TTARUB_FINA.CO_ARUB, TTRUBR_FINA.CO_RUBR, TTSUBR_FINA.CO_SUBR, T1.FE_OPER, T1.FA_TIPO_CAMB, T5.CO_MONE,  
                      
  Round( (SELECT Dbo.FN_TCFACT_CAMB_Q02(T5.CO_MONE, "' + @ISCO_MONE + '", T1.FE_OPER,                        
  T1.IM_MOVI * ( PATINDEX(T1.TI_MOVI, "I") - PATINDEX(T1.TI_MOVI, "E")),                         
  T6.TI_CAMB, T6.TI_ORIG, "S", T6.CO_MONE_DEFA, T6.CO_MONE_EXTR, ISNULL(' + @VNFA_CAMB_MENS + ', T1.FA_TIPO_CAMB))), 2), 
"1", "2"                        
  FROM TCMOVI_CAJA T1, TTSUBR_FINA, TTRUBR_FINA, TTARUB_FINA, TMCAJA T5, TMEMPR, TMPARA_TESO T6                        
  ' + @ISCA_WHER_0001 + @ISCA_WHER_0002 + '                        
  AND MONTH(T1.FE_OPER) = CONVERT(INT, ' + @VSNU_MESE + ')                         
  AND YEAR(T1.FE_OPER) = CONVERT(INT, ' + @VSNU_ANIO + ')                         
  AND T1.TI_SITU IN ("ACT", "EXT")             
  AND TTSUBR_FINA.ST_REPO = "S"                        
  AND  T1.CO_EMPR = T5.CO_EMPR                        
  AND  T1.CO_CAJA = T5.CO_CAJA                        
  AND T1.CO_EMPR = TTSUBR_FINA.CO_EMPR                        
  AND T1.CO_SUBR = TTSUBR_FINA.CO_SUBR                        
  AND TTSUBR_FINA.CO_EMPR = TTRUBR_FINA.CO_EMPR                        
  AND  TTSUBR_FINA.CO_ARUB = TTRUBR_FINA.CO_ARUB          
  AND  TTSUBR_FINA.CO_RUBR = TTRUBR_FINA.CO_RUBR                        
  AND TTRUBR_FINA.CO_EMPR = TTARUB_FINA.CO_EMPR                        
  AND TTRUBR_FINA.CO_ARUB = TTARUB_FINA.CO_ARUB                        
  AND TTSUBR_FINA.CO_EMPR = TMEMPR.CO_EMPR                        
  AND TTSUBR_FINA.CO_EMPR = T6.CO_EMPR                        
                     
 ORDER BY T1.CO_EMPR, TTARUB_FINA.CO_ARUB, TTRUBR_FINA.CO_RUBR, TTSUBR_FINA.CO_SUBR')                        
                    
                    
                    
                    
            
--NUEVO            
            
EXECUTE SP_TWSABA_FLUJ_Q02 @ISCO_EMPR, @ISCO_MONE, @VSNU_ANIO, @VSNU_MESE            
            
                            
INSERT INTO #TWFLUJ_CAJA_Q03_3 (CO_EMPR, CO_BANC, NU_CNTA_BANC, DE_CNTA_BANC, CO_MONE, IM_SALD_INIC, TI_DETA_EMPR, 
TI_DETA_BANC)                                         
select T2.CO_EMPR, T2.CO_BANC, T2.NU_CNTA_BANC, T2.DE_CNTA_BANC, T2.CO_MONE,                     
T4.IM_SALD_INIC, '1', '1'                      
 from  TTBANC_FINA T1, TMCNTA_BANC T2, #TWSABA_REPO T4                      
 Where T2.CO_EMPR =   @ISCO_EMPR                      
  and t1.co_banc = t2.co_banc                    
  and t1.st_banc_empr = 'S'                            
  And T2.CO_EMPR = T4.CO_EMPR                      
  And T2.CO_BANC = T4.CO_BANC                      
  And T2.NU_CNTA_BANC = T4.NU_CNTA_BANC                                   
 ORDER BY T2.CO_EMPR, T2.CO_BANC, T2.NU_CNTA_BANC            
            
DELETE FROM #TWSABA_REPO_AUXI                
DELETE FROM #TWSABA_REPO               
            
--SELECT *FROM  TCFACT_PRME                    
                        
 --SELECT * FROM #TWFLUJ_CAJA_Q03_2                        
 --WHERE CO_SUBR = '119'                        
                       
  ----- INSERTO EN OTRA TABLA TEMPORAL EL IMPORTE CONVERTIDO EN EL PERIODO CORRESPONDIENTE ----------------                   
     
  EXECUTE('                        
  INSERT INTO #TWFLUJ_CAJA_Q02_1                        
  (CO_EMPR, TI_DETA_EMPR, TI_DETA_BANC, CO_ARUB, CO_RUBR, CO_SUBR, CO_SUBR_CALC, ' + @VSDE_CAMP + ', NU_MESE)               
         
  SELECT CO_EMPR, "1", "2", CO_ARUB, CO_RUBR, CO_SUBR, CO_SUBR_CALC, IM_MOVI, CONVERT(CHAR(2), "' + @VNNU_CONT_MESE  + '")  
                     
  FROM #TWFLUJ_CAJA_Q03_2                     
  ')                        
                    
                      
  EXECUTE('                        
  INSERT INTO #TWFLUJ_CAJA_Q02_1                        
  (CO_EMPR, TI_DETA_EMPR, TI_DETA_BANC, CO_BANC, NU_CNTA_BANC, DE_CNTA_BANC, ' + @VSDE_CAMP + ', NU_MESE)                   
     
  SELECT CO_EMPR, "1", "1", CO_BANC, NU_CNTA_BANC, DE_CNTA_BANC, IM_SALD_INIC, CONVERT(CHAR(2), "' + @VNNU_CONT_MESE  + '") 
                            
  FROM #TWFLUJ_CAJA_Q03_3')                       
                    
                    
--SELECT *FROM #TWFLUJ_CAJA_Q03_2                    
                         
  ----- BORRA LA TABLA TEMPORAL ORIGEN PARA LLENARLA CON LA DATA DEL SUGUIENTE PERIODO -----------------                      
  
  DELETE #TWFLUJ_CAJA_Q03_2                       
  --DELETE #TWFLUJ_CAJA_Q03_DUA                    
  DELETE #TWFLUJ_CAJA_Q03_3                     
                         
  SELECT @VNNU_MESE = @VNNU_MESE + 1, @VNNU_CONT_MESE = @VNNU_CONT_MESE + 1                        
  IF @VNNU_MESE = 13             
  BEGIN                        
   SELECT @VNNU_MESE = 1                        
   SELECT @VNNU_ANIO = @VNNU_ANIO + 1                        
  END                        
  SELECT @VSDE_CAMP = 'IM_ME' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_CONT_MESE))))) 
+RTRIM(LTRIM(STR(@VNNU_CONT_MESE)))                        
                         
END                        
                    
                    
                    
                       
INSERT INTO #TWFLUJ_CAJA_Q02_4 (CO_EMPR, DE_EMPR, CO_ARUB, DE_ARUB, CO_RUBR, DE_RUBR, CO_SUBR, DE_SUBR,                      
IM_ME01, IM_ME02, IM_ME03, IM_ME04, IM_ME05, IM_ME06, IM_ME07, IM_ME08,                       
IM_ME09, IM_ME10, IM_ME11, IM_ME12, CO_BANC, NU_CNTA_BANC, DE_CNTA_BANC, TI_DETA_EMPR, TI_DETA_BANC,NU_ORDE_ARUB, 
NU_ORDE_RUBR, NU_ORDE_SUBR)                      
SELECT T1.CO_EMPR, MAX(T5.DE_NOMB), T4.CO_ARUB, MAX(T4.DE_ARUB), T3.CO_RUBR, MAX(T3.DE_RUBR), T2.CO_SUBR, MAX(T2.DE_SUBR),    
                    
 SUM(T1.IM_ME01), SUM(T1.IM_ME02), SUM(T1.IM_ME03), SUM(T1.IM_ME04), SUM(T1.IM_ME05),                         
 SUM(T1.IM_ME06), SUM(T1.IM_ME07), SUM(T1.IM_ME08), SUM(T1.IM_ME09), SUM(T1.IM_ME10),                         
 SUM(T1.IM_ME11), SUM(T1.IM_ME12) , NULL,NULL, NULL, MAX(T1.TI_DETA_EMPR), MAX(T1.TI_DETA_BANC),                  
 MAX(T4.NU_ORDE), MAX(T3.NU_ORDE), MAX(T2.NU_ORDE)                       
FROM #TWFLUJ_CAJA_Q02_1 T1, TTSUBR_FINA T2, TTRUBR_FINA T3, TTARUB_FINA T4, TMEMPR T5                        
WHERE T1.CO_EMPR = @ISCO_EMPR   
AND T1.CO_EMPR = T2.CO_EMPR                        
AND  T2.ST_REPO = 'S'                        
AND T1.CO_SUBR = T2.CO_SUBR                        
AND T2.CO_EMPR = T3.CO_EMPR                        
AND  T2.CO_RUBR = T3.CO_RUBR                        
AND T3.CO_EMPR = T4.CO_EMPR                        
AND T3.CO_ARUB = T4.CO_ARUB                        
AND T1.CO_EMPR = T5.CO_EMPR                    
AND  EXISTS ( SELECT T6.CO_RUBR                        
   FROM  TTRUBR_FINA T6                        
   WHERE  T6.CO_EMPR = T2.CO_EMPR                
   AND  T6.CO_RUBR = T2.CO_RUBR                        
   AND  T6.ST_REPO = 'S'                        
   AND EXISTS ( SELECT T7.CO_ARUB                        
          FROM  TTARUB_FINA T7                        
WHERE  T7.CO_EMPR = T6.CO_EMPR                        
          AND  T7.CO_ARUB = T6.CO_ARUB                        
          AND  T7.ST_REPO = 'S'))                        
GROUP BY T1.CO_EMPR, T4.CO_ARUB, T3.CO_RUBR, T2.CO_SUBR                        
ORDER BY T1.CO_EMPR, MAX(T1.TI_DETA_EMPR), MAX(T1.TI_DETA_BANC), MAX(T4.NU_ORDE), MAX(T3.NU_ORDE), MAX(T2.NU_ORDE)            
          
                    
              
                      
INSERT INTO #TWFLUJ_CAJA_Q02_4 (CO_EMPR, DE_EMPR, CO_ARUB, DE_ARUB, CO_RUBR, DE_RUBR,  CO_SUBR, DE_SUBR,                      
 
IM_ME01, IM_ME02, IM_ME03, IM_ME04, IM_ME05, IM_ME06, IM_ME07, IM_ME08,                      
IM_ME09, IM_ME10, IM_ME11, IM_ME12, CO_BANC, NU_CNTA_BANC, DE_CNTA_BANC, TI_DETA_EMPR, TI_DETA_BANC)                      
SELECT T1.CO_EMPR, MAX(T5.DE_NOMB), NULL, NULL, NULL, NULL, NULL, NULL,                        
 SUM(T1.IM_ME01), SUM(T1.IM_ME02), SUM(T1.IM_ME03), SUM(T1.IM_ME04), SUM(T1.IM_ME05),                         
 SUM(T1.IM_ME06), SUM(T1.IM_ME07), SUM(T1.IM_ME08), SUM(T1.IM_ME09), SUM(T1.IM_ME10),                         
 SUM(T1.IM_ME11), SUM(T1.IM_ME12) , MAX(T1.CO_BANC),MAX(T1.NU_CNTA_BANC), MAX(T1.DE_CNTA_BANC), MAX(T1.TI_DETA_EMPR), 
MAX(T1.TI_DETA_BANC)                      
FROM #TWFLUJ_CAJA_Q02_1 T1,  TMEMPR T5                        
WHERE T1.CO_EMPR = @ISCO_EMPR   
AND T1.CO_EMPR = T5.CO_EMPR                      
AND ISNULL(T1.CO_BANC,'') != ''                    
AND ISNULL(T1.NU_CNTA_BANC,'') != ''                       
GROUP BY T1.CO_EMPR, T1.CO_BANC, T1.NU_CNTA_BANC                      
ORDER BY T1.CO_EMPR, MAX(T1.TI_DETA_EMPR), MAX(T1.TI_DETA_BANC), MAX(T1.CO_BANC), MAX(T1.NU_CNTA_BANC)                      
                    
                      
INSERT INTO #TWFLUJ_CAJA_Q10_1 (CO_EMPR, DE_EMPR, CO_ARUB, DE_ARUB, CO_RUBR, DE_RUBR,  CO_SUBR, DE_SUBR,                      
 
IM_ME01_EJEC, IM_ME02_EJEC, IM_ME03_EJEC, IM_ME04_EJEC, IM_ME05_EJEC, IM_ME06_EJEC, IM_ME07_EJEC, IM_ME08_EJEC,               
       
IM_ME09_EJEC, IM_ME10_EJEC, IM_ME11_EJEC, IM_ME12_EJEC, CO_BANC, NU_CNTA_BANC, DE_CNTA_BANC, TI_DETA_EMPR, TI_DETA_BANC)      
                     
SELECT CO_EMPR, DE_EMPR, CO_ARUB, DE_ARUB, CO_RUBR, DE_RUBR, CO_SUBR, DE_SUBR,                       
ISNULL(IM_ME01,0)*@VNNU_FACT, ISNULL(IM_ME02,0)*@VNNU_FACT, ISNULL(IM_ME03,0)*@VNNU_FACT, ISNULL(IM_ME04,0)*@VNNU_FACT, 
ISNULL(IM_ME05,0)*@VNNU_FACT,                   
ISNULL(IM_ME06,0)*@VNNU_FACT, ISNULL(IM_ME07,0)*@VNNU_FACT, ISNULL(IM_ME08,0)*@VNNU_FACT, 
ISNULL(IM_ME09,0)*@VNNU_FACT,ISNULL(IM_ME10,0)*@VNNU_FACT,                   
ISNULL(IM_ME11,0)*@VNNU_FACT, ISNULL(IM_ME12,0)*@VNNU_FACT, CO_BANC, NU_CNTA_BANC, DE_CNTA_BANC, TI_DETA_EMPR, TI_DETA_BANC   
                   
FROM #TWFLUJ_CAJA_Q02_4                      
ORDER BY CO_EMPR, TI_DETA_EMPR, TI_DETA_BANC, NU_ORDE_ARUB, NU_ORDE_RUBR, NU_ORDE_SUBR                      
                        
RETURN                  
                        
/********************************* FIN ***********************************/


GO
